htl->n+=sprintf(htl->out+htl->n,"DATE");

来源:百度知道 编辑:UC知道 时间:2024/05/27 10:33:22
一个c的结构体变量htl,其中out和n是它的成员,out是char*类型,代表buffer内容,n是int型,代表out字符串内容的长度,那如下语句如何解释呢?
htl->n+=sprintf(htl->out+htl->n,"DATE");
谢谢指点!

在你这个例子中 ,sprintf 若执行成功,返回它成功写入的字符个数(它的返回值详细含义请查阅标准库文档),htl->out 是缓冲区的起始位置 ,htl->n 是缓冲区当前字符的个数 ,sprintf(htl->out+htl->n,"DATE"); 就是将字符串"DATE"追加到缓冲区当前字符串后面 ,然后 htl->n += sprintf(htl->out+htl->n,"DATE"); 修改 htl->n 的值 ,使之为新的字符串长度。